Used in KeyedItem for the generated structs. This allows the struct to be used as a key in an associative array.
Gets the value for ClassName.memberName inside of @Default!(value) if memberName has @Default!(value)
Gets all of the $(WIKI constraints, ExclusionConstraint) that ClassName is attributed with. If the exclusion constraint name is left blank then the default name is "exc_" ~ ClassName.
Gets all of the referenced foreign keys for ClassName.
Gets all of the $(WIKI constraints, ForeignKey) that ClassName is attributed with. If the foreign key name is left blank then the default name is "fk_" ~ ClassName ~ "__" ~ referencedClassName.
Gets the properties of ClassName marked with @attribute. If the attribute is PrimaryKeyColumn then it also confirms the property has NotNull.
Gets the names given to the different UniqueConstraints for ClassName. The UniqueConstraintColumns are usually put on getters and setters.
Creates the foreign keys update rule and delete rule property and sets them to the foreign key attribute property. It also creates the function that will be attached to the foreign key when it is associated. This is where the update rule and delete rule are used since the referenced class will emit what changed and to which item.
Creates the foreign key check exceptions by seeing if the foreign key has been associated and whether or not the referenced table has a matching record.
Creates the foreign key properties that will be used in KeyedCollection. It loops over all of the foreign key attributes for ClassName and creates a write-only property for each referenced class by using the class' name in lower case. There is a static assert that makes sure the lower case class name does not equal the class name. This would result in name collisions and is not conforming to the D style.
Creates the foreign key properties inside of KeyedItem that convert the keyed items properties into the necessary foreign key clustered index.
Confirms ClassName.memberName has @Default!(value)
Confirms ClassName has exclusion constraints.
Confirms ClassName has foreign keys.
Confirms there are members in ClassName with @attribute.
The meta module contains: $(TOC opAAKey) $(TOC GetUniqueConstraintStructNames) $(TOC GetMembersWithUDA) $(TOC hasMembersWithUDA) $(TOC createConstraintStructs) $(TOC GetForeignKeys) $(TOC hasForeignKeys) $(TOC GetForeignKeyRefTable) $(TOC GetDefault) $(TOC hasDefault) $(TOC createForeignKeyPropertyConverter) $(TOC createForeignKeyProperties) $(TOC createForeignKeyCheckExceptions) $(TOC createForeignKeyChanged) $(TOC hasExclusionConstraints) $(TOC GetExclusionConstraints)